package nb.photoviewer;

import javafx.geometry.Insets;
import javafx.scene.control.ContextMenu;
import javafx.scene.control.MenuItem;
import javafx.scene.input.MouseButton;
import javafx.scene.layout.*;
import javafx.scene.paint.Color;

import java.io.File;
import java.util.Arrays;
import java.util.List;

//图像处理类
public class ImageUtility {

    //这一行定义了一个名为 imageExtensions 的静态常量列表，包含了常见的图像文件扩展名（如 .JPG、.JPEG 等）。
    public static final List<String> imageExtensions = Arrays.asList(".JPG", ".JPEG", ".GIF", ".PNG", ".BMP");


    //一个公共静态方法，用于获取文件名的扩展名。
    public static String getFileExtension(String fileName) {
        int lastIndex = fileName.lastIndexOf('.');//通过调用 lastIndexOf() 方法找到文件名中最后一个点的位置。
        if (lastIndex == -1) {
            return ""; // empty extension 如果文件名中没有点（即没有扩展名），则返回空字符串作为扩展名。
        }
        return fileName.substring(lastIndex);   //返回从最后一个点开始到文件名末尾的子字符串，即扩展名。
    }

    //这是一个公共静态方法，用于获取指定目录下的所有有效图像文件。可以用于幻灯片
    public static File[] getValidImageFiles(File directory) {
        return directory.listFiles(file -> imageExtensions.contains(getFileExtension(file.getName()).toUpperCase()) );
        //该行使用了 Lambda 表达式，遍历指定目录下的所有文件，并筛选出扩展名在 imageExtensions 列表中的文件，将它们作为有效的图像文件返回。
    }


}